1. Field of the Invention
The present invention relates in general to an object-oriented development tool kit component for aiding in developing applications for use with a graphic user interface operating environment that is operating in a nonobject-oriented environment, and in particular to a method for a container object management system for use with the graphic user interface operating environment outside of the object-oriented environment. Still more particularly, the present invention relates to a container management system for use with a graphic user interface operating environment outside of the object-oriented environment that provides non-container objects with container-like properties.
2. Description of the Prior Art
Object-oriented languages confer the benefits of extendibility and reusable code, but in an object-oriented environment, situations exist in which operations such as accessing data outside the environment, sending information outside of the environment, or other programming calls to applications or operating systems outside of the environment may be desirable. At this point in time, graphic user interface operating environments not in an object-oriented environment are being developed in which application developers desire to create applications for use with these operating environments. In some situations, an application developer may be programming in an object-oriented language. In such a case, it is necessary to perform operations both inside and outside the object-oriented environment. One operating environment is an end user interface which is an operating environment using the methodology, including devices, by which an end user interacts with the operating environment, an application in the environment. A graphic user interface ("GUI") operating environment is an end user environment that is graphical. For example, the end user interacts with the environment via windows, icons, menus, pointing devices, etc.
Presently, persons writing applications in an object-oriented language for GUI operating environments must include in their applications C code and/or application programming interface ("API") calls. The use of C language or API calls and the retraining issues for programmers and developers trained in object-oriented languages are extremely costly.
Applications may be built using objects. In an object-oriented environment, an object consists of related pieces of code and data. An object has a library of methods which are essentially unique to an object giving the object its specific behaviors. The class of an object defines a grouping based on one or more properties, and an instance as a single item in a class. For example, a class of an object could be considered as analogous to professions, i.e., lawyers, doctors, engineers, and programmers, with an instance of an object being analogous to a particular individual in a class.
A class defines methods for constructing new instances and also instance methods which define how an instance behaves and reacts to incoming messages. The instance variables define the particular features of an instance object such as an individual's salary. The instance variables may be defined or may be empty awaiting definition. An instance's data structure is described by its collection of instance variables. Applications in object-oriented environments may be divided into three basic components: models, view, and controllers. Model objects are the components of the application that does the work; i.e., manipulate data. Next, view objects handle all graphical aspects; i.e., screen presentation. The controller objects make up the interface between model objects, view objects, and input devices (e.g., keyboard or pointing device) . In other words, the controller objects deals with user input device interactions.
Some GUI operating environments, such as OfficeVision/2, a product of International Business Machines Corporation, are not created using an object-oriented language. Presently in such a situation, the only development option available to developers for creating applications for use with such an operating environment has been to create applications using C language, Presentation Manager, and OfficeVision/2 API's.
Presently, GUI operating environments such as OfficeVision/2 contain classes of objects: container objects, device objects, and data objects. Container objects include things such as folders, drawers, and file cabinets in a GUI operating environment, while devices include, for example, printers, facsimiles, and shredders. Data objects are anything that is neither a container object nor a device object. Some examples of data objects include a document such as a letter or illustrative memo, or a spreadsheet such as a monthly budget. The data objects include the application running the object. For example, a memo would include the word processor used to edit or create the memo. The focus on the data object, as opposed to the application, is to direct the users attention to the memo and not the word processor.
Currently, devices and data objects do not have manipulative characteristics such as dragging an icon from one container to another and dropping it into the new container. That is, within a data object icons are not associated with their files for manipulation.
For example, a user of a business planning memo might have spreadsheets or other memos related to the business planning memo. The user would not be able to see iconic representations of the related memos or spreadsheets and manipulate them as in a container object. Thus, it would be desirable to have a system that would provide non-container objects with container-like properties.